Answer:

Mostly from the keyboard.

Input Redirection

A program that gets its input from the keyboard can read its input from a file. This is called input redirection, and is a feature of the command line interface of most operating systems. Say that you have a program named echo.java that writes to the monitor what the user has typed. Here is how the program usually works:

c:\> java echo
Enter your input: 
User types this.
You typed: User types this.
c:\>

Without making any changes you can do the following:

c:\> java echo < input.txt
Enter your input:
You typed: This is text from the file.
c:\> 

The "< input.txt" part of the command line connects the file input.txt to the program and uses it as input in place of the keyboard. In this example the file contained the characters "This is text from the file."

The file input.txt must exist before the program is run. Create it with a text editor.

QUESTION 2:

Is input redirection a feature of Java or a feature of the operating system?